In using many graphical drawing software applications, such as Adobe® After Effects® or Microsoft® Visio®, users often desire to connect, abut, or otherwise couple two or more different graphical shapes, objects, or layers together in some precise manner. For example, a user may want to position an end of an arrow with a box in a flow diagram such that the end of the arrow makes contact with a particular point on an edge of the box. In many cases, positioning a specific part of the arrow accurately, such as by use of a mouse or touch input, may be extremely difficult, possibly requiring multiple user attempts.
To facilitate the positioning of these objects, many drawing applications provide an automatic aligning or “snapping” function, whereby a user may position two or more objects by dragging one of the objects in close proximity to another using a mouse or similar input device. In response, the application may automatically position the object being dragged to some location predetermined by the application relative to the other object. The location may be, for example, some point on the object itself, or some reference point in the graphical user interface, such as a grid point or guide point. As a result, the user may possess little or no control over which aspects or features of the objects are snapped together.
Some applications, such as Trimble® SketchUp®, Autodesk® Maya®, Autodesk® AutoCAD®, and Cinema 4D® by MAXON Computer®, allow more user-controllable selection of features or aspects of the multiple objects being aligned or snapped. To access this additional control, users typically are directed to provide multiple input actions or pre-selection of snapping features in addition to the actual dragging operation. These input actions may include, for example, selection of special menu items, movement of special-purpose graphical objects, selection of object features of interest, and the like.